1. Field of the Invention
This invention relates in general to non volatile memories and in particular to a method of programming non volatile memory cells.
2. Description of the Related Art
Non volatile memories (NVM) include memory cells for storing logical values with the values being retained after power has been removed from the memory.
Some types of NVM cells utilize a charge storing structure such as e.g. a floating gate for storing charge indicative of the logic value (or values with some types of NVM cells) being stored in the cell. With some types of NVM cells, the level of charge stored in the charge storing structure affects the voltage threshold of the transistor of the cell during a voltage read. In one example, a cell with a high voltage threshold would be considered as storing a logical “1” and a cell with a low voltage threshold would be considered as storing a logical “0”. Conventional memory circuitry (e.g. a sense amplifier) can be used during a read of a memory cell to differentiate between a high voltage threshold and low voltage threshold due to the charge level stored in the charge storing structure of a memory cell.
Logical values are stored in a memory cell by adding charge to the charge storing structure. In one example of writing values to a NVM, all of the cells of the NVM are first erased. Then cells in which a logic value (e.g. a logical 1) is to be stored would be programmed by adding charge to the charge storing structure of the cell. No charge would be added to cells in which another logic value (e.g. a logical 0) is desired to be stored. Thus, the charge storing structures of these cells would remain at the erased charge level.
One type of programming an NVM cell is generally referred to as hot carrier injection. With hot carrier injection, a current electrode (e.g. source or drain) of an NVM memory cell is biased with a relatively high voltage and a biasing gate (e.g., select gate or control gate) is biased with a relative high voltage. The other current electrode (e.g. the other of the source or drain) is coupled to a current source or a relatively low voltage. Under such conditions, electrons move to the biased current electrode across a channel region, and electrons are injected into the charge storing structure to charge the charge storing structure.
One problem with conventional hot carrier injection programming is that it can damage the NVM cells ability to store logical values. Accordingly, the number of times that a cell may be programmed and still remain operational may be limited.
What is needed is an improved method for programming a non volatile memory cell.
The use of the same reference symbols in different drawings indicates identical items unless otherwise noted. The Figures are not necessarily drawn to scale.